//
#ifndef FichBitsH
#define FichBitsH

#include <stdio.h>
#include <stdlib.h>

#define STREAM 0
#define CONTEXT 1
#define LONG 2


typedef struct tagTFichBits
{
  unsigned char salida_byte;
  unsigned char entrada_byte;
  int pos;
  int quedan;
  FILE *fich;
} TFichBits;

// Rutinas para escribir en fichero
int InicializaEscritura(char *nombre, char* nombre2, char* nombre3);
void EscribePalabra(int nbits, int palabra,int); // escribe una palabra de nbits en el fichero
void EscribeBit(int bit,int); // escribe un bit en el fichero
void FinalizaEscritura(int);

// Rutinas para leer de fichero
int InicializaLectura(char *nombre,char* nombre2, char* nombre3);
int LeePalabra(int nbits,int); // lee una palabra de nbits del fichero
int LeeBit(int); // lee un bit del fichero
void FinalizaLectura(int);

#endif
